package inter.authorization.manager;

import inter.authorization.model.AppSecretModel;

/**
 * 对appSecret进行操作的接口
 * @author Max
 * @date 2016/10/24.
 */
public interface AppSecretManager {

    /**
     * 创建一个appSecret关联上指定用户
     * @param userId 指定用户的id
     * @return 生成的appSecret
     */
    public AppSecretModel createAppSecret(String appId);

    /**
     * 检查appSecret是否有效
     * @param model appSecret
     * @return 是否有效
     */
    public boolean checkAppSecret(AppSecretModel model,String nonce,String timestamp,String signature);

    /**
     * 从字符串中解析appSecret
     * @param authentication 加密后的字符串
     * @return
     */
    public AppSecretModel getAppSecret(String authentication);

    /**
     * 清除appSecret
     * @param userId 登录用户的id
     */
    public void deleteAppSecret(String appId);

}
